package com.ddf.pluto.utils;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * @program: dingding-financial
 * @description: 上传证件照
 * @author: Mr.pluto
 * @create: 2020-06-17 10:55
 **/
public class UploadImg {
    public static Map addImg(MultipartFile tx, String path,String fileName){
        // 把文件保存到upload目录下
        // 用UUID为每个文件生成一个新的文件名
        UUID uuid = UUID.randomUUID();
        String picName = uuid.toString();
        // 截取文件的扩展名(如.jpg)
        String oriName = tx.getOriginalFilename();
        String extName = oriName.substring(oriName.lastIndexOf("."));
//        String path = request.getSession().getServletContext().getRealPath("\\");  //获取项目路径
        //SPringboot需要将上传的文件放在其他目录
        String dirName = path+"\\"+fileName+"\\";
        //创建文件夹
        File dirFile = new File(dirName);
        if(!dirFile.exists()){
            dirFile.mkdirs();
        }
        //新文件名
            String newFileName = picName + extName;
        File targetFile = new File(dirName , newFileName);
        // 保存文件
        try {
            tx.transferTo(targetFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Map map = new HashMap();
        //fileName：文件夹名称   newFileName:新文件夹名称
        map.put("newname",fileName+"/"+newFileName);
        map.put("filepath",dirName);
        return map;
    }
    //    时间转换
    public static Date SimpleDateFormat(String time){
        Date date = null;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            date = sdf.parse(time);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 获取现在时间
     *
     * @return 返回短时间字符串格式yyyy-MM-dd
     */
    public static String getStringDateShort() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = formatter.format(currentTime);
        return dateString;
    }
}
